<?php
// +----------------------------------------------------------------------
// | 幕小铺
// +----------------------------------------------------------------------
// | 版权所有 2016~2020 幕小铺科技（大连）有限公司
// +----------------------------------------------------------------------
// | 2020/03/14
// +----------------------------------------------------------------------

namespace app\erp\home;
use app\common\controller\AuthCheck;

/**
 * 创建管理员
 * @package app\cms\admin
 */
class AdminUser extends AuthCheck{
    /**
     * 门店管理员
     * @author shiqiang
     * @return json_out(code, message, data)
     */
    public function index(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $store_id    	= intval(isset($params["store_id"]) ? $params["store_id"] : 0);//门店id
		
        //数据验证
        // $Validate = validate('AdminUser', 'validate');
        // if( !$Validate -> scene('admin_user_list') -> check($params) ){
            // json_out(-1001, $Validate -> getError(), []);//验证失败
        // }

        //逻辑处理
        $list = controller('AdminUserlogic', 'logic') -> index($user_id, $store_id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], $list['message'], $list['data']);
        }else{
            json_out($list['code'], $list['message'], []);
        }
    }

    /**
     * 添加
     * @author shiqiang
     * @return json_out(code, message, (int)id)
     */
    public function add(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
		$params['user_type'] = 2;
		
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $mobile 		= intval(isset($params['mobile']) ? $params['mobile'] : 0);
		$nick_name 		= isset($params['nick_name']) ? $params['nick_name'] : '';
		// $user_type 		= intval(isset($params['user_type']) ? $params['user_type'] : 0);
		$user_type 		= 2; // 默认只能添加门店管理
		$store_id 		= intval(isset($params['store_id']) ? $params['store_id'] : 0);
		
        //数据验证
        $Validate = validate('AdminUser', 'validate');
        if( !$Validate -> scene('admin_user_add') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('AdminUserlogic', 'logic') -> add($user_id, $mobile, $nick_name, $user_type, $store_id);
        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '新增成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 编辑
     * @author shiqiang
     * @return json_out(code, message, (int)id)
     */
    public function edit(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
		$params['user_type'] = 2;
		
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id 			= intval(isset($params["id"]) ? $params["id"] : 0);
        $mobile 		= intval(isset($params['mobile']) ? $params['mobile'] : 0);
		$nick_name 		= isset($params['nick_name']) ? $params['nick_name'] : '';
		$user_type 		= intval(isset($params['user_type']) ? $params['user_type'] : 0);
		$store_id 		= intval(isset($params['store_id']) ? $params['store_id'] : 0);

        //数据验证
        $Validate = validate('AdminUser', 'validate');
        if( !$Validate -> scene('admin_user_edit') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('AdminUserlogic', 'logic') -> edit($user_id, $id, $mobile, $nick_name, $user_type, $store_id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '编辑成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 删除
     * @param int $id
     * @author shiqiang
     * @return bool
     */
    public function delete(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id 			= intval(isset($params["id"]) ? $params["id"] : 0);

        //数据验证
        $Validate = validate('AdminUser', 'validate');
        if( !$Validate -> scene('admin_user_delete') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('AdminUserlogic', 'logic') -> delete($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '删除成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }
	
	 /**
     * 详情
     * @param int $id
     * @author shiqiang
     * @return bool
     */
    public function details(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id 			= intval(isset($params["id"]) ? $params["id"] : 0);

        //数据验证
        $Validate = validate('AdminUser', 'validate');
        if( !$Validate -> scene('admin_user_details') -> check($params) ){
            json_out(-1001, $Validate -> getError(), (object)[]);//验证失败
        }

        //逻辑处理
        $list = controller('AdminUserlogic', 'logic') -> details($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], $list['message'], $list['data']);
        }else{
            json_out($list['code'], $list['message'], (object)[]);
        }
    }

}